﻿namespace KinonekoSoftware.Foundation
{
    public abstract class ImplicitArgument
    {
    }
    

    public sealed class BooleanArgument : ImplicitArgument
    {
        public bool Value { get; init; }
    }
    
    public sealed class StringArgument : ImplicitArgument
    {
        public string Value { get; init; }
    }
    
    public sealed class NumericArgument : ImplicitArgument
    {
        public int Value { get; init; }
    }
    
    public sealed class ObjectArgument : ImplicitArgument
    {
        public object Value { get; init; }
    }
    
    public sealed class ObjectArgument<T> : ImplicitArgument
    {
        public T Value { get; init; }
    }
}